/***
 * 路由异常集中处理中间件
 */
const appError = require("../bean/error/appError")
const express = require('express'), app = express();
import logger from '../utils/logger'
class ErrorHandler {
    // 异常处理
    static handleError(err) {
        return new Promise(function (resolve, reject) {
            resolve(err && err.isOperational);
        })
    }
}

//错误处理中间件，我们委托集中式错误处理程序处理错误
module.exports = function (err, req, res, next) {
    ErrorHandler.handleError(err).then((isOperationalError) => {
        //可操作异常
        if (isOperationalError) {
            next(err);
        } else {
            logger.error(err);
            //    不可操作异常 直接Cash重启
            res.status(500).send('系统级异常!');
        }
    });
};